Crate frame_support

source ·
Expand description

Support code for the runtime.

Note on Tuple Traits

Many of the traits defined in traits have auto-implementations on tuples as well. Usually, the tuple is a function of number of pallets in the runtime. By default, the traits are implemented for tuples of up to 64 items.

Re-exports

pub use serde;
pub use self::storage::storage_noop_guard::StorageNoopGuard;
pub use self::dispatch::Callable;
pub use self::dispatch::Parameter;
pub use self::storage::migration;
pub use self::storage::IterableStorageDoubleMap;
pub use self::storage::IterableStorageMap;
pub use self::storage::IterableStorageNMap;
pub use self::storage::StorageDoubleMap;
pub use self::storage::StorageMap;
pub use self::storage::StorageNMap;
pub use self::storage::StoragePrefixedMap;
pub use self::storage::StorageValue;
pub use sp_runtime;

Modules

Utilities for dealing with crypto primitives. Sometimes we need to use these from inside WASM contracts, where crypto calculations have weak performance.
Dispatch system. Contains a macro for defining runtime modules and generating values representing lazy module function calls.
Macro for declaring a module error.
Macros that define an Event types. Events can be used to easily report changes or conditions in your runtime to external entities like users, chain explorers, or dApps.
Some instance placeholder to be used in frame_support::pallet attribute macro.
Contains macro stubs for all of the pallet:: macros
Prelude to be used alongside pallet macro, for ease of use.
Stuff to do with the runtime’s storage.
Traits and associated utilities for use in the FRAME environment.
Re-exports sp-weights public API, and contains benchmarked weight constants specific to FRAME.

Macros

Assert an expression returns an error specified.
Assert an expression returns an error specified.
Assert an expression returns error with the given weight.
Assert that the maximum encoding size does not exceed the value defined in MAX_MODULE_ERROR_ENCODED_SIZE during compilation.
Evaluate an expression, assert it returns an expected Err value and that runtime storage has not been mutated (i.e. expression is a no-operation).
Panic if an expression doesn’t evaluate to Ok.
Evaluate any expression and assert that runtime storage has not been mutated (i.e. expression is a storage no-operation).
Construct a runtime, with the given name and the given pallets.
Convert the current crate version into a CrateVersion.
Declare an error type for a runtime module.
Implement the Event for a module.
Declares a Module struct and a Call enum, which implements the dispatch logic.
Declares strongly-typed wrappers around codec-compatible types in storage.
Generic function to mark an execution path as ONLY defensive.
Evaluate $x:expr and if not true return Err($y:expr).
Return Err of the expression: return Err($expression);.
Macro that inserts some tokens after the first match of some pattern.
match_typeDeprecated
Create a type which implements the Contains trait for a particular type with syntax similar to matches!.
Create a type which implements the Contains trait for a particular type with syntax similar to matches!.
Macro for easily creating a new implementation of both the Get and Contains traits. Use exactly as with parameter_types, only the type must be Ord.
Create new implementations of the Get trait.
Print out a formatted message.

Structs

Hash storage keys with blake2 128
Hash storage keys with concat(blake2_128(key), key)
Hash storage keys with blake2 256
A bounded map based on a B-Tree.
A bounded set based on a B-Tree.
A bounded slice.
A bounded vector.
Store the key directly.
A pallet identifier. These are per pallet and should be stored in a registry somewhere.
Hash storage keys with concat(twox64(key), key)
Hash storage keys with twox 128
Hash storage keys with twox 256
A weakly bounded vector.

Enums

A type that cannot be instantiated.
The void type - it cannot exist.

Constants

A unified log target for support operations.
The number of bytes of the module-specific error field defined in ModuleError. In FRAME, this is the maximum encoded size of a pallet error type.

Traits

Trait for things which can be printed from the runtime.
Hasher to use to hash keys to insert to storage.
Hasher to use to hash keys to insert to storage.

Functions

Print out the debuggable type.
Print something that implements Printable from the runtime.

Type Definitions

Consensus engine unique ID.

Attribute Macros

The pallet attribute macro defines a pallet that can be used with construct_runtime!. It must be attached to a module named pallet as follows:
Assert the annotated function is executed within a storage transaction.
Execute the annotated function in a new storage transaction.

Derive Macros

Derive Clone but do not bound any generic.
Derive Debug but do not bound any generic.
Derive Default but do not bound any generic.
Derive Eq but do not bound any generic.
Derive PartialEq but do not bound any generic.
Derive Debug, if std is enabled it uses frame_support::DebugNoBound, if std is not enabled it just returns "<stripped>". This behaviour is useful to prevent bloating the runtime WASM blob from unneeded code.